#include "key_table.h"

const uint8_t keyboard_matrix_tab[] =
{
    //TYPE      CODE_L              CODE_H
    //===========================================R0
    KB_TYPE,    KB_GENERAL,         KEY_ESC,
    KB_TYPE,    0x00,               0x00,
    KB_TYPE,    KB_GENERAL,         KEY_F1,
    KB_TYPE,    KB_GENERAL,         KEY_F2,
    KB_TYPE,    KB_GENERAL,         KEY_F3,
    KB_TYPE,    KB_GENERAL,         KEY_F4,
    KB_TYPE,    KB_GENERAL,         KEY_F5,
    KB_TYPE,    KB_GENERAL,         KEY_F6,
    KB_TYPE,    KB_GENERAL,         KEY_F7,
    KB_TYPE,    KB_GENERAL,         KEY_F8,
    KB_TYPE,    KB_GENERAL,         KEY_F9,
    KB_TYPE,    KB_GENERAL,         KEY_F10,
    KB_TYPE,    KB_GENERAL,         KEY_F11,
    KB_TYPE,    KB_GENERAL,         KEY_F12,
    KB_TYPE,    KB_GENERAL,         KEY_PRINT,
    KB_TYPE,    KB_GENERAL,         KEY_SCROLL,
    KB_TYPE,    KB_GENERAL,         KEY_PAUSE,
    //===========================================R1
    KB_TYPE,    KB_GENERAL,         KEY_OVERDOT,
    KB_TYPE,    KB_GENERAL,         KEY_1,
    KB_TYPE,    KB_GENERAL,         KEY_2,
    KB_TYPE,    KB_GENERAL,         KEY_3,
    KB_TYPE,    KB_GENERAL,         KEY_4,
    KB_TYPE,    KB_GENERAL,         KEY_5,
    KB_TYPE,    KB_GENERAL,         KEY_6,
    KB_TYPE,    KB_GENERAL,         KEY_7,
    KB_TYPE,    KB_GENERAL,         KEY_8,
    KB_TYPE,    KB_GENERAL,         KEY_9,
    KB_TYPE,    KB_GENERAL,         KEY_0,
    KB_TYPE,    KB_GENERAL,         KEY_DEC,
    KB_TYPE,    KB_GENERAL,         KEY_ADD,
    KB_TYPE,    KB_GENERAL,         KEY_BACKSPACE,
    KB_TYPE,    KB_GENERAL,         KEY_INSERT,
    KB_TYPE,    KB_GENERAL,         KEY_HOME,
    KB_TYPE,    KB_GENERAL,         KEY_PGUP,
    //===========================================R2
    KB_TYPE,    KB_GENERAL,         KEY_TAB,
    KB_TYPE,    KB_GENERAL,         KEY_Q,
    KB_TYPE,    KB_GENERAL,         KEY_W,
    KB_TYPE,    KB_GENERAL,         KEY_E,
    KB_TYPE,    KB_GENERAL,         KEY_R,
    KB_TYPE,    KB_GENERAL,         KEY_T,
    KB_TYPE,    KB_GENERAL,         KEY_Y,
    KB_TYPE,    KB_GENERAL,         KEY_U,
    KB_TYPE,    KB_GENERAL,         KEY_I,
    KB_TYPE,    KB_GENERAL,         KEY_O,
    KB_TYPE,    KB_GENERAL,         KEY_P,
    KB_TYPE,    KB_GENERAL,         KEY_BRACKET_L,
    KB_TYPE,    KB_GENERAL,         KEY_BRACKET_R,
    KB_TYPE,    KB_GENERAL,         KEY_K29,
    KB_TYPE,    KB_GENERAL,         KEY_DELETE,
    KB_TYPE,    KB_GENERAL,         KEY_END,
    KB_TYPE,    KB_GENERAL,         KEY_PGDN,
    //===========================================R3
    KB_TYPE,    KB_GENERAL,         KEY_CAP,
    KB_TYPE,    KB_GENERAL,         KEY_A,
    KB_TYPE,    KB_GENERAL,         KEY_S,
    KB_TYPE,    KB_GENERAL,         KEY_D,
    KB_TYPE,    KB_GENERAL,         KEY_F,
    KB_TYPE,    KB_GENERAL,         KEY_G,
    KB_TYPE,    KB_GENERAL,         KEY_H,
    KB_TYPE,    KB_GENERAL,         KEY_J,
    KB_TYPE,    KB_GENERAL,         KEY_K,
    KB_TYPE,    KB_GENERAL,         KEY_L,
    KB_TYPE,    KB_GENERAL,         KEY_SEMICOLON,
    KB_TYPE,    KB_GENERAL,         KEY_QUOTES,
    KB_TYPE,    KB_GENERAL,         KEY_K42,
    KB_TYPE,    KB_GENERAL,         KEY_ENTER,
    KB_TYPE,    0x00,                 0x00,
    KB_TYPE,    0x00,                 0x00,
    KB_TYPE,    0x00,                 0x00,
  //===========================================R4
    KB_TYPE,    KB_HOT,             KEY_SHIFT_L,
    KB_TYPE,    KB_GENERAL,         KEY_K45,
    KB_TYPE,    KB_GENERAL,         KEY_Z,
    KB_TYPE,    KB_GENERAL,         KEY_X,
    KB_TYPE,    KB_GENERAL,         KEY_C,
    KB_TYPE,    KB_GENERAL,         KEY_V,
    KB_TYPE,    KB_GENERAL,         KEY_B,
    KB_TYPE,    KB_GENERAL,         KEY_N,
    KB_TYPE,    KB_GENERAL,         KEY_M,
    KB_TYPE,    KB_GENERAL,         KEY_COMMA,
    KB_TYPE,    KB_GENERAL,         KEY_PERIOD,
    KB_TYPE,    KB_GENERAL,         KEY_QUESTION,
    KB_TYPE,    KB_GENERAL,         KEY_K56,
    KB_TYPE,    KB_HOT,             KEY_SHIFT_R,
    KB_TYPE,    0x00,               0x00,
    KB_TYPE,    KB_GENERAL,         KEY_UP,
    KB_TYPE,    0x00,               0x00,
    //===========================================R5
    KB_TYPE,    KB_HOT,             KEY_CTRL_L,
    KB_TYPE,    KB_HOT,             KEY_WIN_L,
    KB_TYPE,    KB_HOT,             KEY_ALT_L,
    FUNC_TYPE,  KEY_G_CLASS,        KEY_G1,
    FUNC_TYPE,  KEY_G_CLASS,        KEY_G2,
    FUNC_TYPE,  KEY_G_CLASS,        KEY_G3,
    KB_TYPE,    KB_GENERAL,         KEY_SPACE,
    FUNC_TYPE,  KEY_G_CLASS,        KEY_G4,
    FUNC_TYPE,  KEY_G_CLASS,        KEY_G5,
    KB_TYPE,    0x00,               0x00,
    KB_TYPE,    KB_HOT,             KEY_ALT_R,
    FUNC_TYPE,  KEY_FN,             KEY_FN,
    KB_TYPE,    KB_GENERAL,         KEY_APP,
    KB_TYPE,    KB_HOT,             KEY_CTRL_R,
    KB_TYPE,    KB_GENERAL,         KEY_LEFT,
    KB_TYPE,    KB_GENERAL,         KEY_DOWN,
    KB_TYPE,    KB_GENERAL,         KEY_RIGHT,
    //===========================================R6
    FUNC_TYPE,  KEY_G_CLASS,        KEY_G6,
    FUNC_TYPE,  KEY_G_CLASS,        KEY_G7,
    FUNC_TYPE,  KEY_G_CLASS,        KEY_G8,
    FUNC_TYPE,  KEY_G_CLASS,        KEY_G9,
    FUNC_TYPE,  KEY_G_CLASS,        KEY_REC,
    CON_TYPE,   CON_MUTE_L,         CON_MUTE_H,
    CON_TYPE,   CON_PREV_L,         CON_PREV_H,
    CON_TYPE,   CON_PLAY_L,         CON_PLAY_H,
    CON_TYPE,   CON_NEXT_L,         CON_NEXT_H,
    KB_TYPE,    0x00,                 0x00,
    KB_TYPE,    0x00,                 0x00,
    KB_TYPE,    0x00,                 0x00,
    KB_TYPE,    0x00,                 0x00,
    KB_TYPE,    0x00,                 0x00,
    KB_TYPE,    0x00,                 0x00,
    KB_TYPE,    0x00,                 0x00,
    KB_TYPE,    0x00,                 0x00,
};
